"""
需求：
定义函数，在员工列表中查找所有部门是9001的员工
定义函数，在员工列表中查找所有姓名是2个字的员工
步骤：
 -- 根据需求，写出函数。
 -- 因为主体逻辑相同,核心算法不同.
 所以使用函数式编程思想(分、隔、做)
 创建通用函数ﬁnd_all
 -- 在当前模块中调用
"""
from Employee import Employee

list_employees = [
    Employee(1001,9001,"唐僧",60000),
    Employee(1002,9002,"孙悟空",50000),
    Employee(1003,9002,"猪八戒",40000),
    Employee(1004,9001,"沙僧",30000),
    Employee(1005,9001,"小白龙",1500),
]


def find_all(condition):
    for item in list_employees:
        if condition(item):
            yield item

for item in find_all(lambda item: item.did == 9001):
    print(item)

print("-----------------------------------------------")

for item in find_all(lambda item: len(item.name) == 2):
    print(item)